package org.grow.present.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;
import org.grow.present.entity.enums.PurchaseBillState;

/**
 * 
 * @TableName PurchaseBill
 */
@TableName(value ="PurchaseBill")
@Data
public class PurchaseBill implements Serializable {
    /**
     * 
     */
    @TableId(value = "billId")
    private String billId;

    /**
     * 
     */
    @TableField(value = "billState")
    @EnumValue
    private PurchaseBillState billState;

    /**
     * 
     */
    @TableField(value = "supplier")
    private String supplier;

    /**
     * 
     */
    @TableField(value = "orderDate")
    private LocalDateTime orderDate;

    /**
     * 
     */
    @TableField(value = "receiveDate")
    private LocalDateTime receiveDate;

    /**
     * 
     */
    @TableField(value = "amount")
    private BigDecimal amount;

    /**
     * 
     */
    @TableField(value = "nextItemId")
    private Integer nextItemId;

    /**
     * 
     */
    @TableField(value = "applier")
    private String applier;

    /**
     * 
     */
    @TableField(value = "applyTime")
    private LocalDateTime applyTime;

    /**
     * 
     */
    @TableField(value = "auditor")
    private String auditor;

    /**
     * 
     */
    @TableField(value = "auditTime")
    private LocalDateTime auditTime;

    /**
     * 
     */
    @TableField(value = "auditMsg")
    private String auditMsg;

    /**
     * 
     */
    @TableField(value = "history")
    private String history="";

    /**
     * 
     */
    @TableField(value = "updateTime")
    private LocalDateTime updateTime;

    @TableField(value = "departmentFk")
    private String departmentFk;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @TableField(exist = false)
    private List<PurchaseItem> items= new ArrayList<PurchaseItem>(6);
}